// 该文件专门用于暴露store对象，整个应用只有一个store对象
import { createStore, applyMiddleware, combineReducers } from 'redux'
// 引入为Count组件服务的reducer
import countReducer from './reducers/count'
// 引入为Person组件服务的reducer
import personReducer from './reducers/person'
// 引入redux-thunk用于支持异步action
import thunk from 'redux-thunk'
// 引入redux-devtools-extension
import { composeWithDevTools } from 'redux-devtools-extension'

// 汇总所有reducer用combineReducers方法，该参数值就是redux里面的状态
const allReducer = combineReducers({
  count: countReducer,
  person: personReducer
})
export default createStore(allReducer, composeWithDevTools(applyMiddleware(thunk)))
